#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
using namespace std;

void add(vector<int>& ans, long long d, long long c) {
    ans.push_back((d - c / d - 2) / 4);
}

int main() {
    int x;
    cin >> x;
    vector<int> ans;
    long long c = 4LL * x - 1;
    long long d = -1;
    while (d * d <= abs(c)) {
        d += 2;
        if (c % d != 0) continue;
        add(ans, d, c);
        add(ans, -d, c);
        add(ans, c / d, c);
        add(ans, -c / d, c);
    }
    sort(ans.begin(), ans.end());
    auto last = unique(ans.begin(), ans.end());
    ans.erase(last, ans.end());
    cout << ans.size() << endl;

    for (auto x:  ans) {        
        cout <<x <<" ";
    }
    cout << endl;
    return 0;
}